package com.xsir.ditan.admin.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @author user
 * @date 2021/2/2
 */
@Data
public class MenuListVo {
    
    /**
     * 菜单ID
     */
    private Integer id;
    
    /**
     * 菜单名称
     */
    private String name;
    
    /**
     * 图标
     */
    private String icon;
    
    /**
     * URL地址
     */
    private String url;
    
    /**
     * 参数
     */
    private String param;
    
    /**
     * 上级ID
     */
    private Integer pid;
    
    /**
     * 类型：1模块 2导航 3菜单 4节点
     */
    private Integer type;
    
    /**
     * 类型描述
     */
    private String typeName;
    
    /**
     * 权限标识
     */
    private String permission;
    
    /**
     * 是否显示：1显示 2不显示
     */
    private Integer status;
    
    /**
     * 是否显示描述
     */
    private String statusName;
    
    /**
     * 是否公共：1是 2否
     */
    private Integer isPublic;
    
    /**
     * 是否公共描述
     */
    private String isPublicName;
    
    /**
     * 菜单备注
     */
    private String note;
    
    /**
     * 显示顺序
     */
    private Integer sort;
    
    /**
     * 创建人
     */
    private Integer createUser;
    
    /**
     * 创建人名称
     */
    private String createUserName;
    
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date createTime;
    
    /**
     * 更新人
     */
    private Integer updateUser;
    
    /**
     * 更新人名称
     */
    private String updateUserName;
    
    /**
     * 更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date updateTime;
    
    /**
     * 子级菜单
     */
    private List<MenuListVo> children;
    
    /**
     * 是否有子级
     */
    private boolean haveChild;
    
}
